.TH std::isprint(std::locale) 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::isprint(std::locale) \- std::isprint(std::locale)

.SH Synopsis
   Defined in header <locale>
   template< class CharT >
   bool isprint( CharT ch, const locale& loc );

   Checks if the given character is classified as a printable character (including
   space) by the given locale's std::ctype facet.

.SH Parameters

   ch  - character
   loc - locale

.SH Return value

   Returns true if the character is classified as printable, false otherwise.

.SH Possible implementation

   template<class CharT>
   bool isprint(CharT ch, const std::locale& loc)
   {
       return std::use_facet<std::ctype<CharT>>(loc).is(std::ctype_base::print, ch);
   }

.SH Example

   Demonstrates the use of isprint() with different locales (OS-specific).


// Run this code

 #include <iostream>
 #include <locale>

 int main()
 {
     const wchar_t c = L'\\u2122'; // trademark sign

     std::locale loc1("C");
     std::cout << "isprint('™', C locale) returned "
               << std::boolalpha << std::isprint(c, loc1) << '\\n';

     std::locale loc2("en_US.UTF-8");
     std::cout << "isprint('™', Unicode locale) returned "
               << std::boolalpha << std::isprint(c, loc2) << '\\n';
 }

.SH Possible output:

 isprint('™', C locale) returned false
 isprint('™', Unicode locale) returned true

.SH See also

   isprint  checks if a character is a printing character
            \fI(function)\fP
   iswprint checks if a wide character is a printing character
            \fI(function)\fP
